/*   
 * Copyright 2011-2012 the original author or authors.   
 *   
 * Licensed under the Apache License, Version 2.0 (the "License");   
 * you may not use this file except in compliance with the License.   
 * You may obtain a copy of the License at   
 *   
 *      http://www.apache.org/licenses/LICENSE-2.0   
 *   
 * Unless required by applicable law or agreed to in writing, software   
 * distributed under the License is distributed on an "AS IS" BASIS,   
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.   
 * See the License for the specific language governing permissions and   
 * limitations under the License.   
 */
package code.google.com.p.antigovframe.sample;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import code.google.com.p.antigovframe.sample.dao.TaskDAO;
import code.google.com.p.antigovframe.sample.domain.Task;

/**
 * @author Jacob Lee
 * @since 2012. 7. 17.
 * 
 */
@Service
public class TaskServiceImpl implements TaskService {
	@Autowired(required=true)
	private TaskDAO taskDao;
  
	/* (non-Javadoc)
	 * @see org.orda.sample.TaskService#retrieveUser(java.lang.Long)
	 */
	@Transactional(readOnly=true)
	public Task retrieveUser(Long id) {
		return taskDao.findById(id);
	}

	/* (non-Javadoc)
	 * @see org.orda.sample.TaskService#createUser(org.orda.sample.domain.Task)
	 */
	@Transactional 
	public Task createUser(Task task) {
		return taskDao.persistOrMerge(task);
	}

}
